
package com.intretech.umsin.system.vo;

import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.intretech.umsin.common.entity.Assignment;
import com.intretech.umsin.common.excel.converter.LocalDateTimeConverter;

/**
* @version V1.0
* 操作日志记录:sys_oper_log 对应的VO模型类.
* @ClassName: SysOperLogVo
* @Description: 操作日志记录:sys_oper_log 对应的VO模型类.
* @author: 李启联
* @date:   2022-8-16 16:25:07
* @Copyright: Copyright (c) 2022
*/
@ApiModel("操作日志记录")
@ExcelIgnoreUnannotated
public class SysOperLogVo implements Assignment, Serializable {

    // 日志主键
    @ApiModelProperty(value = "日志主键" ,dataType="bigint(19)" ,required= true)
    @ExcelProperty(value = "日志主键")
    private Long id;

    // 模块标题
    @ApiModelProperty(value = "模块标题" ,dataType="varchar(50)" ,required= false)
    @ExcelProperty(value = "模块标题")
    private String title;

    // 业务类型（0其它 1新增 2修改 3删除）
    @ApiModelProperty(value = "业务类型（0其它 1新增 2修改 3删除）" ,dataType="int(10)" ,required= false)
    @ExcelProperty(value = "业务类型（0其它 1新增 2修改 3删除）")
    private Integer businessType;

    // 方法名称
    @ApiModelProperty(value = "方法名称" ,dataType="varchar(100)" ,required= false)
    @ExcelProperty(value = "方法名称")
    private String method;

    // 请求方式
    @ApiModelProperty(value = "请求方式" ,dataType="varchar(10)" ,required= false)
    @ExcelProperty(value = "请求方式")
    private String requestMethod;

    // 操作类别（0其它 1后台用户 2手机端用户）
    @ApiModelProperty(value = "操作类别（0其它 1后台用户 2手机端用户）" ,dataType="int(10)" ,required= false)
    @ExcelProperty(value = "操作类别（0其它 1后台用户 2手机端用户）")
    private Integer operatorType;

    // 操作人员
    @ApiModelProperty(value = "操作人员" ,dataType="varchar(50)" ,required= false)
    @ExcelProperty(value = "操作人员")
    private String operName;

    // 部门名称
    @ApiModelProperty(value = "部门名称" ,dataType="varchar(50)" ,required= false)
    @ExcelProperty(value = "部门名称")
    private String deptName;

    // 请求URL
    @ApiModelProperty(value = "请求URL" ,dataType="varchar(255)" ,required= false)
    @ExcelProperty(value = "请求URL")
    private String operUrl;

    // 主机地址
    @ApiModelProperty(value = "主机地址" ,dataType="varchar(128)" ,required= false)
    @ExcelProperty(value = "主机地址")
    private String operIp;

    // 操作地点
    @ApiModelProperty(value = "操作地点" ,dataType="varchar(255)" ,required= false)
    @ExcelProperty(value = "操作地点")
    private String operLocation;

    // 请求参数
    @ApiModelProperty(value = "请求参数" ,dataType="varchar(2,000)" ,required= false)
    @ExcelProperty(value = "请求参数")
    private String operParam;

    // 返回参数
    @ApiModelProperty(value = "返回参数" ,dataType="varchar(2,000)" ,required= false)
    @ExcelProperty(value = "返回参数")
    private String jsonResult;

    // 操作状态（0正常 1异常）
    @ApiModelProperty(value = "操作状态（0正常 1异常）" ,dataType="int(10)" ,required= false)
    @ExcelProperty(value = "操作状态（0正常 1异常）")
    private Integer status;

    // 错误消息
    @ApiModelProperty(value = "错误消息" ,dataType="varchar(2,000)" ,required= false)
    @ExcelProperty(value = "错误消息")
    private String errorMsg;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "操作时间" ,dataType="datetime()" ,required= false)
    @ExcelProperty(value = "操作时间",converter = LocalDateTimeConverter.class)
    private java.time.LocalDateTime operTime;

    // 版本号
    @ApiModelProperty(value = "版本号" ,dataType="int(10)" ,required= false)
    @ExcelProperty(value = "版本号")
    private Integer version;

    // 租户ID
    @ApiModelProperty(value = "租户ID" ,dataType="varchar(128)" ,required= false)
    @ExcelProperty(value = "租户ID")
    private String tenantId;

    // 创建人
    @ApiModelProperty(value = "创建人" ,dataType="varchar(64)" ,required= false)
    @ExcelProperty(value = "创建人")
    private String creator;

    // 修改人
    @ApiModelProperty(value = "修改人" ,dataType="varchar(64)" ,required= false)
    @ExcelProperty(value = "修改人")
    private String modifier;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间" ,dataType="datetime()" ,required= false)
    @ExcelProperty(value = "创建时间",converter = LocalDateTimeConverter.class)
    private java.time.LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "修改时间" ,dataType="datetime()" ,required= false)
    @ExcelProperty(value = "修改时间",converter = LocalDateTimeConverter.class)
    private java.time.LocalDateTime modifyTime;

    public Long getId(){
    return this.id;
    }

    public void setId(Long id){
    this.id = id;
    }
    public String getTitle(){
    return this.title;
    }

    public void setTitle(String title){
    this.title = title;
    }
    public Integer getBusinessType(){
    return this.businessType;
    }

    public void setBusinessType(Integer businessType){
    this.businessType = businessType;
    }
    public String getMethod(){
    return this.method;
    }

    public void setMethod(String method){
    this.method = method;
    }
    public String getRequestMethod(){
    return this.requestMethod;
    }

    public void setRequestMethod(String requestMethod){
    this.requestMethod = requestMethod;
    }
    public Integer getOperatorType(){
    return this.operatorType;
    }

    public void setOperatorType(Integer operatorType){
    this.operatorType = operatorType;
    }
    public String getOperName(){
    return this.operName;
    }

    public void setOperName(String operName){
    this.operName = operName;
    }
    public String getDeptName(){
    return this.deptName;
    }

    public void setDeptName(String deptName){
    this.deptName = deptName;
    }
    public String getOperUrl(){
    return this.operUrl;
    }

    public void setOperUrl(String operUrl){
    this.operUrl = operUrl;
    }
    public String getOperIp(){
    return this.operIp;
    }

    public void setOperIp(String operIp){
    this.operIp = operIp;
    }
    public String getOperLocation(){
    return this.operLocation;
    }

    public void setOperLocation(String operLocation){
    this.operLocation = operLocation;
    }
    public String getOperParam(){
    return this.operParam;
    }

    public void setOperParam(String operParam){
    this.operParam = operParam;
    }
    public String getJsonResult(){
    return this.jsonResult;
    }

    public void setJsonResult(String jsonResult){
    this.jsonResult = jsonResult;
    }
    public Integer getStatus(){
    return this.status;
    }

    public void setStatus(Integer status){
    this.status = status;
    }
    public String getErrorMsg(){
    return this.errorMsg;
    }

    public void setErrorMsg(String errorMsg){
    this.errorMsg = errorMsg;
    }
    public java.time.LocalDateTime getOperTime(){
    return this.operTime;
    }

    public void setOperTime(java.time.LocalDateTime operTime){
    this.operTime = operTime;
    }
    public Integer getVersion(){
    return this.version;
    }

    public void setVersion(Integer version){
    this.version = version;
    }
    public String getTenantId(){
    return this.tenantId;
    }

    public void setTenantId(String tenantId){
    this.tenantId = tenantId;
    }
    public String getCreator(){
    return this.creator;
    }

    public void setCreator(String creator){
    this.creator = creator;
    }
    public String getModifier(){
    return this.modifier;
    }

    public void setModifier(String modifier){
    this.modifier = modifier;
    }
    public java.time.LocalDateTime getCreateTime(){
    return this.createTime;
    }

    public void setCreateTime(java.time.LocalDateTime createTime){
    this.createTime = createTime;
    }
    public java.time.LocalDateTime getModifyTime(){
    return this.modifyTime;
    }

    public void setModifyTime(java.time.LocalDateTime modifyTime){
    this.modifyTime = modifyTime;
    }

    public SysOperLogVo(){
    }

    @Override
    public String toString(){
        return " SysOperLogVo ["
             +" id = " +id +" ,"
             +" title = " +title +" ,"
             +" businessType = " +businessType +" ,"
             +" method = " +method +" ,"
             +" requestMethod = " +requestMethod +" ,"
             +" operatorType = " +operatorType +" ,"
             +" operName = " +operName +" ,"
             +" deptName = " +deptName +" ,"
             +" operUrl = " +operUrl +" ,"
             +" operIp = " +operIp +" ,"
             +" operLocation = " +operLocation +" ,"
             +" operParam = " +operParam +" ,"
             +" jsonResult = " +jsonResult +" ,"
             +" status = " +status +" ,"
             +" errorMsg = " +errorMsg +" ,"
             +" operTime = " +operTime +" ,"
             +" version = " +version +" ,"
             +" tenantId = " +tenantId +" ,"
             +" creator = " +creator +" ,"
             +" modifier = " +modifier +" ,"
             +" createTime = " +createTime +" ,"
             +" modifyTime = " +modifyTime
        +" ]";
    }

}